package com.hzw.saas.api.email.query;

import java.io.Serializable;
import java.util.List;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 新增邮件记录
 *
 * @author zzl
 * @since 09/08/2021
 */
@Data
@ApiModel("新增邮件")
public class EmailLogAddQuery implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 邮件类型
     */
    @ApiModelProperty(value = "邮件类型", required = true)
    @NotNull(message = "邮件类型不可为空")
    private Integer type;

    /**
     * 发件人
     */
    @ApiModelProperty(value = "发件人", hidden = true)
    private String from;

    /**
     * 收件人，多个收件人用,分隔
     */
    @ApiModelProperty(value = "收件人，多个收件人用,分隔", required = true)
    @NotEmpty(message = "收件人不可为空")
    private List<String> tos;

    /**
     * 抄送人，多个抄送人用,分隔
     */
    @ApiModelProperty(value = "抄送人，多个抄送人用,分隔")
    private List<String> ccs;

    /**
     * 密送人，多个密送人用,分隔
     */
    @ApiModelProperty(value = "密送人，多个密送人用,分隔")
    private List<String> bccs;

    /**
     * 邮件主题
     */
    @ApiModelProperty(value = "邮件主题", required = true)
    @NotBlank(message = "邮件主题不可为空")
    private String subject;

    /**
     * 邮件正文
     */
    @ApiModelProperty(value = "邮件正文")
    private String content;

    /**
     * 邮件正文是否为html格式，0-否，1-是
     */
    @ApiModelProperty(value = "邮件正文是否为html格式，0-否，1-是")
    private Integer isHtml;

    /**
     * 邮件业务链接
     */
    @ApiModelProperty(value = "邮件业务链接")
    private String bizUrl;

    /**
     * 邮件业务主题
     */
    @ApiModelProperty(value = "邮件业务主题")
    private String bizTitle;

}
